課程資訊
課程名稱
經濟計量數值方法導論
Introduction to Numerical Methods in Economics and Econometrics 
開課學期
110-2 
授課對象
社會科學院  經濟學研究所  
授課教師
王泓仁 
課號
ECON5187 
課程識別碼
323 U1070 
班次
 
學分
2.0 
全/半年
半年 
必/選修
選修 
上課時間
星期三7,8(14:20~16:20) 
上課地點
社科306 
備註
限學士班三年級以上 或 限碩士班以上 或 限博士班
總人數上限:30人 
 
課程簡介影片
 
核心能力關聯
核心能力與課程規劃關聯圖
課程大綱
為確保您我的權利,請尊重智慧財產權及不得非法影印
課程概述

助教:
邱麗穎: r10323046@ntu.edu.tw
方啓元: r09323017@ntu.edu.tw

The course introduces basic numerical methods often used in econometrics, quantitative social science, and data science. Topics include random sampling, numerical integration, numerical differentiation, optimization, simulation, and maximum likelihood estimations. The theories are introduced at an accessible level, and the focus is on the application of the methods.

Equally important in this course is introducing students to computer programming using Julia (primary), R, or Matlab. Students are asked to code functions to implement the numerical methods, and hands-on exercises are given to hone coding skills. Comprehension of the numerical methods and development of programming skills are mutually reinforcing and complementary to one another.

The two-credit course is not designed to be thorough in numerical methods or advanced programming skills. Instead, the primer lays out the foundation so that students are not bound by existing routines and packages when facing computational challenges in the future, and shall feel comfortable taking up the challenge by coding and exploring solutions.

The weekly class typically consists of a 1.5-hour lecture (using Jupyter Notebook) and a half-hour programming session. 

課程目標
Course Objective

Upon completion of this course, students will be able to:

1. grasp basic theories of essential numerical methods;
2. obtain programming skills in modern computer languages;
3. code numerical algorithms and methods to solve empirical problems; and
4. teach themselves to code in other languages in the future.


Course outline (Course Schedule of 18 weeks)

Week 1: introduction and Julia setup
Explain the course format and purpose to students.
Introduce Julia: What is it, the potential for scientific computing, and why is it good for classroom learning. Help students to set up Julia environments in computers.

Week 2: random, pseudo-random, and quasi-random numbers
Introduce various types of random numbers; how to draw random numbers for different needs; random number vs. random number generators (RNG) and how to use RNG to ensure re-reproducibility (in both of the local and global scopes). Introduce basic syntax and matrix operations of Julia.

Week 3: sampling from distributions
Introduce various sampling methods, including the rejection method, inverse transformation sampling, GHK simulator, and importance sampling. Discuss how to sample from un-common distributions and multivariate distributions.

Week 4: quadrature-based numerical integration I
Introduce the basic theory of quadrature methods, including the midpoint method, the trapezoidal method, the Simpson’s rule, and various Gaussian quadrature rules (Gauss-Legendre, Gauss-Hermite, Gauss-Laguerre).

Week 5: quadrature-based numerical integration II
Continue last week’s content. Introduce the adaptive quadrature method. Discuss how to choose from the different rules for problems often encountered in econometrics.

Week 6: low discrepancy sequences and Monte Carlo integration
Introduce the basic theory of MC integration and the low discrepancy sequence (particularly the Halton and Sobol sequences). Show how to use LDS in MC integrations for better convergence rates.

Week 7: high-dimensional integration and other integration topics
Discuss the issue of the curse of dimensionality and show possible work-around. Discuss integration problems that have discontinuity and singularity. Discuss the (dis)advantages of different integration approaches.

Week 8: midterm exam

Week 9: finite and symbolic differentiation
Introduce numerical finite differentiation methods and discuss various issues that affect numerical accuracy. Discuss first- as well as second-derivatives.

Week 10: automatic differentiation
Introduce the theory of automatic differentiation; emphasize its differences from numerical finite differentiations. Show how to apply it to solve problems.

Week 11: root-finding vs. optimization
Introduce basic root-finding methods and discuss similarities and differences between root-finding and functional optimization.

Week 12: gradient-free optimization methods: local descent
Introduce the gradient-free methods, including Nelder-Mead and the simulated annealing.

Week 13: gradient-based optimization methods
Introduce the methods based on the 1st-order gradients, including the gradient descent and BFGS.

Week 14: Hessian-based optimization methods
Introduce the methods based on the 2nd-order Hessian, including the Newton method and other quasi-Newton methods. Discuss issues to consider when choosing between the different methods.

Week 15: maximum likelihood estimation I
Introduce the basic theory of MLE and how different optimization methods may apply to the estimation.

Week 16: final exam 
課程要求
Grading:
Course grades are determined by homework and midterm exams (60%) and the final exam (40%). Homework and exam questions ask students to solve problems by coding and applying numerical methods learned in the class. No late homework will be accepted. The lowest grade of all the homework, except for the hwk #1, will be dropped in calculating the final grade.

Group discussions on homework questions are encouraged, but copying other people's work is strictly prohibited.

Requirements for students after the class:
We will introduce basic programming skills in the lecture, and students are encouraged to find resources (e.g., from the internet) for advanced methods and for solving specific programming issues. 
預期每週課後學習時數
 
Office Hours
備註: 助教: 邱麗穎: r10323046@ntu.edu.tw 方啓元: r09323017@ntu.edu.tw 
指定閱讀
 
參考書目
CT2005: Cameron, A.C. and Trivedi, P.K. (2005) Microeconometrics: Methods and Applications, Cambridge University Press, London.

J1998: Judd, K. (1998) Numerical Methods in Economics, MIT Press, Cambridge.

KW2019: Kochenderfer, M.J., and Wheeler, T.A. (2019) Algorithms for Optimization, MIT Press, Cambridge.

KY2011: Koziel and Yang (2011) Computational Optimization Methods and Algorithms, Springer, New York. (free download from NTU)

MF2004: Miranda, M.J., and Fackler, P.L. (2004) Applied Computational Economics and Finance, MIT Press, Cambridge.

NK2021: Nazarathy and Klog (2021) Statistics with Julia, Springer, New York. (free download from NTU) 
評量方式
(僅供參考)
   
課程進度
週次
日期
單元主題
無資料